/// File:		GraphicsDevice.h
/// Author:		Dennis Norton
/// Date:		07/21/12
/// Purpose:	Abtract base class that defines what a basic actor is.
///				Actors are placeable in the world, ie, they will be rendered

#ifndef GRAPHICSDEVICE_H_
#define GRAPHICSDEVICE_H_

/// LINKING 
#pragma comment(lib, "dxgi.lib")
#pragma comment(lib, "d3d11.lib")
#pragma comment(lib, "d3dx11.lib")
#pragma comment(lib, "d3dx10.lib")

// INCLUDES 
#include <dxgi.h>
#include <d3dcommon.h>
#include <d3d11.h>
#include <d3dx10math.h>


class GraphicsDevice
{
	ID3D11Device* _pDevice;
	ID3D11DeviceContext* _pDeviceContext;

public:
	GraphicsDevice();
	~GraphicsDevice();

	/// Purpose:	Initializes the graphics device and D3D object
	bool Initialize(HWND hWnd);

	/// Purpose:	Releases the device and D3D object.
	void Shutdown();

	/// Purpose:	Retrieves a pointer to the current device
	ID3D11Device* GetDevice() { return _pDevice;}

	/// Purpose:	Retrieves a pointer to the device context
	ID3D11DeviceContext* GetDeviceContext() {return _pDeviceContext;}


};

#endif